 /**
 * 
 */
package es.ats.codington.festival.interfaces.services;

import java.util.List;

import es.ats.codington.festival.domain.Event;
import es.ats.codington.festival.domain.EventSignUp;
import es.ats.codington.festival.exceptions.ServiceException;


/**
 * @author Codington_RED
 *
 */
public interface IEventSignUpService {

	
	/**
	 * Service to check the events that visitor is registered in
	 * @param eventSignUp
	 * @return boolean
	 * @throws ServiceException
	 */
	public boolean checkEventsofVisitor(EventSignUp eventSignUp) throws ServiceException;
	
	
	/**
	 * Service to unregister a visitor to an event
	 * @param eventSignUp
	 * @return boolean
	 * @throws ServiceException
	 */
	public boolean unregisterVisitorToEvent(EventSignUp eventSignUp) throws ServiceException;
	

	/**
	 * Service to register a visitor to an event
	 * @param eventsignup
	 * @return boolean
	 * @throws ServiceException
	 */
	public boolean registerVisitorToEvent(EventSignUp eventsignup) throws ServiceException;
	
	
	/**
	 * Service that shows a list with the events where a visitor is registered.
	 * @param eventSignUp
	 * @return boolean
	 * @throws ServiceException
	 */
	public List<Event> registeredEvents(EventSignUp eventSignUp) throws ServiceException;
	

}
